package com.lsm.czxxgl_system.service;

import com.lsm.czxxgl_system.model.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lsm.czxxgl_system.model.request.UserSearchRequest;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author shu
 * @description 针对表【user(单位)】的数据库操作Service
 * @createDate 2024-06-25 10:46:34
 */
public interface UserService extends IService<User> {
    /**
     * 用户登录
     *
     * @param username           用户名
     * @param password           密码
     * @param httpServletRequest
     * @return 返回用户脱敏信息
     */
    User userLogin(String username, String password, HttpServletRequest httpServletRequest);

    /**
     * 用户脱敏
     *
     * @param user 脱敏前
     * @return 脱敏后
     */
    User getSafetyUser(User user);

    /**
     * 新增用户
     *
     * @param user 添加的用户
     * @return 添加的用户id
     */
    Integer saveUser(User user);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    boolean updateUser(User user);

    /**
     * 根据条件查询数据
     * @param userSearchRequest 查询条件封装对象
     * @return
     */
    List<User> searchByCondition(UserSearchRequest userSearchRequest);
}
